package chatting.client;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;	

/**
 * 일종의 심플 클라이언트
 * 메인에서는 키보드에서 인풋 받은것을 서버로 전송을 반복 할 것이다!
 *  ChattingClient.java - main 메소드
 *  소켓 생성 : 서버와 연결(생성된 소켓은 Main Thread와 ClientThread가 공유)
 *  ClientThread를 start
 *  키보드에서 읽어서 서버로 출력
 *  input Stream : 키보드로부터 입력을 받는 인풋 스트림
 *  output Stream : server로 output(socket.getoutputStream.())
 */
public class ChattingClient {
	public static void main(String[] args) throws IOException{
		Socket socket = null;
		BufferedReader keyboard = null;
		PrintWriter pw = null;


		try {
			socket = new Socket("127.0.0.1", 5000);
			new Thread(new ClientThread(socket)).start();
			System.out.println("====== 연결 성공 ======");
			keyboard = new BufferedReader(new InputStreamReader(System.in));
			pw = new PrintWriter(socket.getOutputStream(),true);

			String str = keyboard.readLine();
			while (str != null){
				
				pw.println(str);
				str = keyboard.readLine();
			}
		}finally {
			if(keyboard != null) keyboard.close();
			if(pw != null) pw.close();
			if(socket !=null) socket.close();
		}

	}
}
